##第一种方式，直接再python代码中解析html字符串


# 导入lxml，下面两句话相当于from lxml import etree
# 只不过在python之后的lxml模块中不再能直接应仍有etree模块
from lxml import html

etree = html.etree

text = '''
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单验证01</title>
</head>
<body>
    <ul>
    <li><a href ="/a/b/c/java/" >java</a></li>
    <li><a href ="/a/b/c/python/" >python</a></li>
    <li><a href ="/a/b/c/ai/" >ai</a></li>

    </ul>
</body>
</html>

'''
# 使用etree解析html中的字符串
html = etree.HTML(text)
# print(html)
# 提取是数据
r = html.xpath('/html/body/ul/li/a')
# print(r)#[<Element a at 0x16f6748>, <Element a at 0x16f6828>, <Element a at 0x16f6968>]

# r= html.xpath('/html/body/ul/li/a/text()')
# print(r) #['java', 'python', 'ai']

r = html.xpath('/html/body/ul/li[1]/a/text()')
print(r)  # ['java']

'''
/   当前元素的直接字节点
//  当前元素的子节点或者孙子节点

text()  获取文本
@attr   获取属性对应的值


获取第一个
li[1]

获取最后一个
li[last]

获取前两个
li[position()<3]

获取倒数第三个
li[last()-2]


'''
